//
//  USMsgTouchIncident.h
//  us
//
//  Created by lhx on 2025/4/11.
//

#import <Foundation/Foundation.h>

#import "USMessageViewModel.h"

#import "USChatKit.h"
#import <QuickLook/QuickLook.h>

NS_ASSUME_NONNULL_BEGIN

@interface USMessageEventStrategy : NSObject

@property (nonatomic, strong) USChatUIController *chatController;

- (void)messageEventOperation:(USMessageViewModel *)vm;

 
@end

/**
    消息事件工厂
 */
@interface USMessageEventStrategyFactory : NSObject

+ (USMessageEventStrategy * _Nonnull)getStratrgyImplWithMsgType:(EMMessageBodyType)type;

@end

@interface TextMsgEvent : USMessageEventStrategy
@end

@interface ImageMsgEvent : USMessageEventStrategy<QLPreviewControllerDataSource,QLPreviewControllerDelegate>

@property (nonatomic, strong) NSURL *imageURL;

@end

@interface VoiceMsgEvent : USMessageEventStrategy
@end


NS_ASSUME_NONNULL_END
